The invention which is the subject of this application is related to the provision of broadcast data, from which television programs and other services, such as home shopping, games, internet services and the like can be generated, and particularly to the provision of streams of data which are referred to as “trick mode” streams of data.
The provision of transmitted digital data which is broadcast by service providers for reception at a large number of subscriber premises is increasing and can provide to users a range of functions and services in addition to the core television and radio programming. The data is transmitted in a specific international format set out by the Motion Picture Experts Group (MPEG). The broadcast data is received by a Broadcast Data Receiver (BDR) at each premises and the BDR decodes the encoded data received and generates video and/or audio for display via a display screen and/or speakers as appropriate, most typically those of a television set. Although reference is herein made to the invention with respect to a BDR it should be appreciated that the same can be applicable to other apparatus which generate video data such as, for example, DVD players, hard disk memory devices and the like.
In addition to the generation of video and audio there are an increasing number of different forms of user selectable services which can be selected via the BDR. One known service is Video on Demand (VOD). In this service the BDR user can select to view a program or film at that instant, or at a designated time in the future, and so the user does not have to be bound by any particular television or radio program scheduling imposed by the broadcaster. Typically the user is provided with a menu or list of available programs or films and can select to view the same, typically having been required to make a payment to the broadcaster. Upon selection, access to the necessary received data and decoding of the same is commenced via the BDR and the selected video and audio is then available to the user for the selected program or film.
As part of the video-on-demand service, which is typically defined as a “single-user service” for the specific user, the user can be presented with the opportunity to request that the MPEG format stream of data for the selected program or film is presented on screen in a fast cue/fast review form in which the picture moves more quickly, similarly to the Play Fast Forward function on a Video Cassette Recorder. This is conventionally achieved via a method whereby the video data server in or connected to the BDR delivers the said MPEG stream of data containing no audio data, and containing some or all of the “I-frames” from the video data (an MPEG video stream will typically contain an I-frame every half second or so).
Digital data in an MPEG format is typically provided in a series of hierarchical levels, one of which defines the generation of frames of the video display. The frames are defined in different categories, typically “I-frames” which are fully coded and can be decoded without reference to data for any other frames; “P frames” which, to be generated for display, need to be decoded with reference to data for earlier I or P frames, and “B frames” which, to be generated, need to be decoded with reference to previous or later I and P frames.
The I frames of data also allow for service data acquisition and for error recovery purposes, and importantly, can be decoded entirely without reference to adjacent frames of data.
However, in practice, when the provision of the fast review or fast cue service occurs, a problem arises due to the fact that at the transition between the generation of the video display generated from the normal stream of data and that generated for the fast cue/fast review service, (hereafter referred to as the trick mode stream of data), it is necessary to flush the video decoder buffer memory in the BDR of all data from the normal stream of data in order to avoid decoding and/or frame reordering errors. Thus, and as also the case at the recommencing of playing the normal stream of data, the BDR processing means is required to go through a phase of flushing and then pre-filling the video buffer memory device with the appropriate video data before decoding of the new stream of data, such as the trick mode stream of data, can commence. The level of data required to be placed into the buffer memory in the BDR is required to be set which is problematic as now described.
The problem with this process and particularly when transferring to the trick mode stream of data is that, unlike with a normal stream of data, the BDR has no access to the header fields “bit_rate” and “vbv_delay” data from the video stream which are normally used to determine the pre-fill data threshold of the buffer memory which is required to be reached to achieve the successful decoding of the data. The access is denied because the International Standard ISO/IEC 13818-1(MPEG) defines “bit_rate” and “vbv_delay” data to be invalid in the case of the display of trick mode streams of data even though the actual data used for both formats of video display is effectively the same but dealt with in a different manner to generate the required video display format.
A conventional approach to overcome this problem is to generate a quantity of data into the buffer memory which is equal to that specified by the data field “vbv_buffer_size”, which is a header field that is still valid for trick mode streams of data. However, in practice, this can lead to relatively large time delays of one or more seconds following the user selection of the trick mode stream and before the user can view on screen the trick mode stream display. This is especially so if the bitrate of the original data stream is somewhat below the defined maximum for the MPEG specified data profile/level.
The aim of the present invention is to provide a method which leads to the MPEG data decoder in the BDR, and hence the BDR service, being more responsive in the transition between the generation of displays between the normal streams of data and the trick mode stream of data.